.TH std::allocator_traits::destroy 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::allocator_traits::destroy \- std::allocator_traits::destroy

.SH Synopsis
   Defined in header <memory>
   template< class T >                               \fI(since C++11)\fP
   static void destroy( Alloc& a, T* p );            \fI(until C++20)\fP
   template< class T >                               \fI(since C++20)\fP
   static constexpr void destroy( Alloc& a, T* p );

   Calls the destructor of the object pointed to by p. If possible, does so by calling
   a.destroy(p). If not possible (e.g. Alloc does not have the member function
   destroy()), then calls
   the destructor of *p directly, as p->~T()
   \fI(until C++20)\fP
   std::destroy_at(p)
   \fI(since C++20)\fP.

.SH Parameters

   a - allocator to use for destruction
   p - pointer to the object being destroyed

.SH Return value

   \fI(none)\fP

.SH Notes

   Because this function provides the automatic fall back to direct call to the
   destructor, the member function destroy() is an optional Allocator requirement since
   C++11.

.SH Example

    This section is incomplete
    Reason: no example

.SH See also

   destroy       destructs an object in allocated storage
   \fI(until C++20)\fP \fI(public member function of std::allocator<T>)\fP

.SH Category:
     * Todo no example
